package org.lex.swing.widgets.console;

import java.io.Writer;

/**
 * The capabilities of a minimal console. Stream I/O and optimized print for
 * output. A simple console may ignore some of these or map them to trivial
 * implementations. e.g. print() with color can be mapped to plain text.
 */
public interface IConsole {
	public void addConsoleListener(ConsoleListener l);

	public void removeConsoleListener(ConsoleListener l);

	public Writer getOut();

	public Writer getErr();

	public IConsole println(Object o);

	public IConsole println();

	public IConsole print(Object o);

	public IConsole error(Object o);

	public void clear();
}
